本人思路:拓扑思想+简单模拟
1 | 这道题其实并不难,只是用到了拓扑的思想,A奶牛必须在B奶牛挤奶前挤奶,这就形成了一个有向图,点A指向点B。 |
我们只需要记一下总量(实际上是每只奶牛挤奶时间的总和),每一次循环将入度为0的奶牛加入要挤奶的数组,并且取挤奶数组的最小值,让在挤奶数组里的奶牛减去最小值,如果一个奶牛挤完奶了,那就删除与它相连的边,并且相连的点入度减一,总时间加上最小值,总量减去最小值*挤奶牛数,直到总量为0结束,如果到这里还不懂可以看代码,代码有更详细的解释。
1 |
|
爱你所爱,行你所幸;听从你心,我问西东。
1 | 这道题其实并不难,只是用到了拓扑的思想,A奶牛必须在B奶牛挤奶前挤奶,这就形成了一个有向图,点A指向点B。 |
1 | #include<iostream> |